package com.gwctv.mapper;

import com.gwctv.entity.DishFlavor;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @Mapper 此程序中代码标识为数据持久层（dto层）
 */
@Mapper
public interface DishFlavorMapper {

    /**
     * 向口味表中批量插入口味数据
     *
     * @param flavors
     */
    public abstract void insertBatch(List<DishFlavor> flavors);

    /**
     * 根据菜品id删除对应的口味数据
     * @param dishId
     */
    @Delete("delete from dish_flavor where dish_id = #{dishId}")
    public abstract void deleteByDishId(Long dishId);

    /**
     * 根据菜品集合批量删除口味数据
     * @param dishIds
     */
    public abstract void deleteByDishIds(List<Long> dishIds);

    /**
     * 根据菜品id获取口味数据
     * 注意：根据菜品id获取口味数据，可能会获取到多条数据，因此将每条数据封装在dishFlavor对象中，并将dishFlavor对象
     * 存入List集合中
     * @param dishId
     * @return
     */
    @Select("select * from dish_flavor where dish_id = #{dishId}")
    public abstract List<DishFlavor> getByDishId(Long dishId);
}
